Decrypting Files for Data Leakage Protection in an Enterprise Network

ABSTRACT

A method of decrypting an encrypted file within an enterprise network is provided. The method includes identifying by a password collecting module a password entered during a file encryption procedure performed at a terminal and storing the password; receiving an encrypted file by a data leakage protection (DLP) module; and attempting to decrypt the encrypted file with the password by the DLP module.

FIELD OF THE DISCLOSURE

The claimed subject matter relates to enterprise data leakage protection(DLP), and more particularly, to decrypting encrypted files in order toprovide data leakage protection (DLP).

DESCRIPTION OF THE PRIOR ART

To ensure that confidential data will not leak out through a means ofelectronic communication, for example, the Internet, enterprises use adata leakage protection (DLP) mechanism to check for confidential datain their outbound communication contents. See Check Point DLP SoftwareBlade produced by Check Point Software Technologies Ltd.

To conduct the DLP checkup thoroughly, it is necessary to decryptencrypted files whenever the encrypted files are discovered incommunication contents. Related prior art discloses attempting todecrypt encrypted files by a brute-three attack, though this approach isconceivably time-consuming. Furthermore, US Pub. 2012/0216046 disclosesparsing text contents of emails to create a dictionary required for abrute-force attack.

SUMMARY

It is an aspect of the claimed subject matter to provide techniques forcollecting in advance passwords entered during a file encryptionprocedure performed at a terminal within an enterprise network, storingthe passwords collected, creating a password list, and attempting todecrypt according to the password list whenever it is necessary todecrypt encrypted files, so as to perform a DLP checkup within theenterprise network.

Most of the encrypted files to be sent out of an enterprise network havealready undergone a file encryption procedure performed at a terminalwithin the enterprise network. Hence, the aforesaid techniques enhancethe accuracy of passwords greatly and dispenses with the hassle ofattempting to decrypt indiscriminately by a brute-force attack.

Another aspect of the claimed subject matter is to provide techniquesfor creating a short list of collected passwords in contrast with adictionary for use in a brute-force attack to thereby solve a problem,that is, passwords which are conceivable by business users and adaptedfor use in encryption within an enterprise network are relativelyscarce. Conceivably, in the course of attempting to decrypt, a DLPcheckup conducted with a password list created in accordance with theclaimed subject matter takes less time than one e conducted with adictionary according to the prior art; hence, the claimed subject mattershortens the duration of service interruption and thus enables areal-time DLP checkup.

Yet another aspect of the claimed subject matter is to providetechniques whereby passwords entered by users are efficiently identifiedby monitoring a specific application (such as 7-Zip or Microsoft Word)executed at a terminal within an enterprise network and a fileencryption procedure performed by means of the application. In so doing,the techniques of the claimed subject matter dispense with the hassle ofmonitoring all the operations performed or data entered by users at theterminal all the time. Hence, the techniques of the claimed subjectmatter not only prevent privacy infringement, but also reduce therequired system resources greatly.

The techniques of the claimed subject matter provides, in an embodimentthereof, techniques for collecting decrypting passwords for encryptedfiles within an enterprise network. The techniques comprise:

-   -   monitoring an application executed at a terminal;    -   monitoring a procedure performed with a predetermined        application executed at the terminal; and    -   identifying a password entered by users for a file encryption        procedure performed with the predetermined application.

The claimed subject matter provides, in another embodiment thereof,techniques for decrypting an encrypted file within an enterprisenetwork. The techniques comprise:

-   -   receiving an encrypted file from a terminal; and    -   attempting to decrypt the encrypted file with the decrypting        passwords obtained by the method of collecting decrypting        passwords for encrypted files within an enterprise network.

The claimed subject matter provides, in another embodiment thereof,techniques for decrypting an encrypted file within an enterprisenetwork. The techniques comprise;

-   -   identifying by a password collecting module a first password        entered during a first file encryption procedure performed at a        terminal, and storing the first password;    -   receiving an encrypted file by a data leakage protection (DLP)        module; and    -   attempting to decrypt the encrypted file with the first password        by the DLP module.

The claimed subject matter further provides, in yet another embodimentthereof, an apparatus and a computer-readable medium or a computerprogram product for implementing the aforesaid techniques.

Reference throughout this specification to features, advantages, orsimilar language does not imply that all of the features and advantagesthat may be realized with the claimed subject matter should be or are inany single embodiment of the claimed subject matter. Rather, languagereferring to the features and advantages is understood to mean that aspecific feature, advantage, or characteristic described in connectionwith an embodiment is included in at least one embodiment of the claimedsubject matter. Thus, discussion of the features and advantages, andsimilar language, throughout this specification may, but do notnecessarily, refer to the same embodiment.

Furthermore, the described features, advantages, and characteristics ofthe claimed subject matter may be combined in any suitable manner in oneor more embodiments. One skilled in the relevant art will recognize thatthe claimed subject matter may be practiced without one or more of thespecific features or advantages of a particular embodiment. In otherinstances, additional features and advantages may be recognized incertain embodiments that may not be present in all embodiments of theclaimed subject matter.

The following description, the appended claims, and the embodiments ofthe claimed subject matter further illustrate the features andadvantages of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the advantages of the claimed subject matter will bereadily understood, a more particular description of the claimed subjectmatter briefly described above will be rendered by reference to specificembodiments that are illustrated in the appended drawings. Understandingthat these drawings depict only typical embodiments of the claimedsubject matter and are not therefore to be considered to be limiting ofscope, the claimed subject matter will be described and explained withadditional specificity and detail through the use of the accompanyingdrawings.

FIG. 1 is schematic view of an enterprise network according to aspecific embodiment of the claimed subject matter;

FIG. 2 is a flow chart of a method of collecting passwords according toa specific embodiment of the claimed subject matter;

FIG. 3 shows a password table PT according to a specific embodiment ofthe claimed subject matter; and

FIG. 4 is a flow chart of a method of attempting to decrypt according toas specific embodiment of the claimed subject matter.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Reference throughout this specification to “one embodiment,” “anembodiment,” or similar language means that a particular feature,structure, or characteristic described in connection with theembodiment, is included in at least one embodiment of the claimedsubject matter. Thus, appearances of the phrases “in one embodiment,”“in an embodiment,” and similar language throughout this specificationmay, but do not necessarily, all refer to the same embodiment.

As will be appreciated by one skilled in the art, the claimed subjectmatter may be embodied as an apparatus, a method or a computer programproduct. Accordingly, the claimed subject matter may take the form of anentirely hardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module” or “system.” Furthermore,the claimed subject matter may take the form of a computer programproduct embodied in any tangible medium of expression havingcomputer-usable program code embodied in the medium.

Any combination of one or more computer usable or computer readablemedium(s) may be utilized. The computer-usable or computer-readablemedium may be, for example but not limited to, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,device, or propagation medium. More specific examples (a non-exhaustivelist) of the computer-readable medium would include the following: anelectrical connection having one or more wires, a portable computerdiskette, a hard disk, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, a portable compact disc read-only memory(CD-ROM), an optical storage device, a transmission media such as thosesupporting the Internet or an intranet, or a magnetic storage device.Note that the computer-usable or computer-readable medium could even bepaper or another suitable medium upon which the program is printed, asthe program can be electronically captured, via, for instance, opticalscanning of the paper or other medium, then compiled, interpreted, orotherwise processed in a suitable manner, if necessary, and then storedin a computer memory. In the context of this document, a computer-usableor computer-readable medium may be any medium that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The computer-usable medium may include a propagated data signal with thecomputer-usable program code embodied therewith, either in baseband oras part of a carrier wave. The computer usable program code may betransmitted using any appropriate medium, including but not limited towireless, wireline, optical fiber cable, RF, etc.

Computer program code for carrying out operations of the claimed subjectmatter may be written in any combination of one or more programminglanguages, including an object oriented programming language such asJava, Smalltalk C++ or the like and conventional procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The program code may execute entirely on the user's computer,partly on the user's computer, as a stand-alone software package, partlyon the user's computer and partly on to remote computer or entirely onthe remote computer or server. In the latter scenario, the remotecomputer or server may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).

The claimed subject matter is described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theclaimed subject matter. It will be understood that each block of theflowchart illustrations and/or block diagrams, and combinations ofblocks in the flowchart illustrations and/or block diagrams, can beimplemented by computer program instructions. These computer programinstructions may be provided to a processor of a general purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructions,which execute via, the processor of the computer or other programmabledata processing apparatus, create means for implementing thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable, data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide processes for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

Referring now to FIG. 1 through FIG. 4, apparatuses, methods, andcomputer program products are illustrated as structural or functionalblock diagrams or process flowcharts according to various embodiments ofthe claimed subject matter. The flowchart and block diagrams in thefigures illustrate the architecture, functionality, and operation ofpossible implementations of systems, methods and computer programproducts according to various embodiments of the claimed subject matter.In this regard, each block in the flowchart or block diagrams mayrepresent a module, segment, or portion of code, which comprises one ormore executable instructions for implementing the specified logicalfunction(s). It should also be noted that, in some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts, or combinations of special purpose hardware andcomputer instructions.

<System Architecture>

Referring to FIG. 1, there is shown a schematic view of an enterprisenetwork 10 according to a specific embodiment of the claimed subjectmatter. The enterprise network 10 comprises a terminal 20, a passwordcollecting module 30, and a data leakage protection (DLP) module 40.Terminal 20 is provided in the form of a personal mobile device (forexample, iPhone or iPad of Apple Inc.) or a personal computer andadapted to communicate (for example, file transfer or sending emails)with an extranet 50 outside the enterprise network 10. Although only oneterminal 20 is shown in FIG. 1, persons skilled in the art understandthat the claimed subject matter does not set forth a limit to thequantity of terminal 20.

Details of password collecting module 30 and DLP module 40 are furtherillustrated with FIG. 2 through FIG. 4. In addition to passwordcollecting module 30 and DLP module 40, enterprise network 19 providesan existing protection mechanism (not shown) pertaining to data leakageor data security with respect to the communication of terminal 20 andextranet 50. For more information, make reference to Check Point DLPSoftware Blade manufactured by Check Point Software Technologies Ltd. orSecurity Network Protection XGS 5000 manufactured by internationalBusiness Machines Corp. Hence, the methods and the apparatus of theclaimed subject matter can be integrated into the existing protectionmechanism, especially next-generation firewalls.

<Password Collecting Module>

Password collecting module 30 is preferably provided in the form ofsoftware, for example, in the form of a daemon operating on terminal 20;the claimed subject matter is not restrictive thereof, as passwordcollecting module 30 of the claimed subject matter can also be providedin the form of standalone hardware, such as an apparatus. Referring toFIG. 2, there is shown a flow chart of a method of collecting passwordsaccording to a specific embodiment of the claimed subject matter,wherein password collecting module 30, provided in the form of a daemon,collects passwords.

-   -   Block 200: starts password collecting module 30 disposed on        terminal 20 to monitor and determine whether terminal 29 is        going to execute one or more predetermined applications. Go to        block 202 when the determination is affirmative, otherwise keep        performing block 200.

In this embodiment, password collecting module 30 communicates with theoperating system (for example, the task manager in the Windows operatingsystem) of terminal 20, so as to be informed of any application to beexecuted on the terminal 20.

Before this block, it is feasible to register, optionally, any concernedapplications, especially any applications susceptible to an encryptionprocedure such as 7-Zip, Microsoft Word, WinRAR, and Microsoft Outlook,with password collecting module 30 beforehand; hence, passwordcollecting module 30 can ignore those applications which are notregistered, thereby saving system resources.

-   -   Block 202: monitor and determine by password collecting module        30 as to whether the application is executing a file, encryption        procedure. Go to block 204 when the determination is        affirmative, otherwise go back to block 200.

In this embodiment, password collecting module 30 is capable ofdetecting a processing process of the application or an action of agraphical user interface (GUI) object to thereby determine a procedurecurrently being performed by the application. For more information, makereference to Spy++ developed by Microsoft.

When performing a file encryption procedure, an application typicallyprovides a specific user interface message or prompt and requests theuser to enter a password. Hence, password collecting module 30 detectsthe specific user interface message or prompt to thereby determine afile encryption procedure currently being executed by the application.

-   -   Block 204: identify by password collecting module 30 passwords        entered by the user during an encryption procedure being        executed by the application (for example, by means of the        specific use interface message or prompt.) The identifying of        passwords by password collecting module 30 can be implemented by        keystroke tracking or any conventional technique of detecting        user's input, of which the claimed subject matter is not        restrictive. After identifying the passwords, password        collecting module 30 sends the passwords to DLP module 40, such        that the passwords are stored therein to create a password table        PT. Afterward, the process flow of the method either ends or        returns to block 200 or block 202 such that the process flow can        be executed repeatedly to obtain multiple passwords which are        then stored in the password table PT.

In another embodiment, password collecting module 30 not only identifiespasswords, but also identifies meta data related to the passwords,including, but not limited to, time and date of file encryption,application name, encrypted file format (such as a filename extension),hash value of an encrypted file, and a user ID for use in the login ofthe application. Password collecting module 30 sends the meta data andthe passwords together to DLP module 40, such that the meta data and thepasswords are stored in the password table PT, as shown in FIG. 3.Further details are describe below.

<DLP Module>

Terminal 20, password collecting module 30, and DLP module 40 aredisposed in enterprise network 10 and communicate with each other viathe network-based connection, including a fixed LAN or WAN, or any meansof connection other than wired connection and wireless connection,provided by enterprise network 10.

DLP module 40 is preferably provided in the form of an apparatus andintegrated into an existing access point, router, switch, gateway,firewall device, proxy, or intrusion prevention system (IPS) device, forexample.

DLP module 40 provided in the form of an apparatus comprises a memory 42and a processor 44. Memory 42 is a computer magnetic disk, hard diskdrive, random-access memory (RAM), read-only memory (ROM), erasableprogrammable read-only memory (EPROM or flash memory), compact disk,optical storage device, or magnetic storage device. Memory 42 stores aprogram code and, for example, the password table PT shown in FIG. 3.Processor 44 accesses the program code and the password table PT frommemory 42 to thereby execute a predetermined program, as illustratedwith FIG. 4. Persons skilled in the art understand that the hardware ofDLP module 40 illustrated with FIG. 1 varies from embodiment toembodiment. Furthermore, in another embodiment of the claimed subjectmatter, intrinsic hardware or peripheral devices, such as flashread-only memory (flash ROM), equivalent non-volatile memory, or CD-ROMcan be included in or can substitute for the hardware illustrate withFIG. 1.

In another embodiment, a plugin module for use with the applicationoperates on terminal 20. For more information, refer to the operationprinciple of plugin modules for use with an existing. Web browser orword processing software,

Referring to FIG. 4, there is shown a flow chart of a method ofattempting by DLP module 40 to decrypt according to a specificembodiment of the claimed subject matter. The embodiment describedhereunder is merely intended for a single encrypted file of a singleterminal 20, but persons skilled in the art understand that it isfeasible for DLP module 40 to perform the process flow (depicted in FIG.4) on different files at different terminals 20 simultaneously ordifferent files at the same terminal 20.

-   -   Block 400: receive or intercept by DLP module 40 an encrypted        file from terminal 20, wherein, for the technique of file        interception, please refer to conventional DLP or firewall        mechanism. This block optionally comprises the sub-block of        identifying meta data of encrypted file, such as file format,        hash value, and user ID of the source of the file sent. For more        information, please refer to Security Network Protection XGS        5000 developed by International Business Machines Corp. or other        next-generation firewalls.    -   Block 402 (optional): determine preliminarily by DLP module 40        as to whether to attempt to decrypt (for example, by comparing        meta data of encrypted files and meta data of passwords        collected by password collecting module 30) with the passwords        collected by password collecting module 30 according to the        identified meta data of the encrypted files. Go to block 404 to        attempt to decrypt when the determination is affirmative,        otherwise go to block 450 to execute a predetermine policy, for        example, refusing to send the encrypted files to extranet 50, or        sending messages to request encrypted file senders to provide        passwords.    -   Block 404: attempt by DLP module 40 to decrypt encrypted files        received in block 400, using passwords (see the process flow of        FIG. 2 and the password table PT of FIG. 3) collected by        password collecting module 30. Preferably, block 404 is        performed in a real-time manner, that is, immediately after        block 400.

In this block, if the password table PT contains multiple passwords, DLPmodule 40 will further tidy up and sort the password table PT. Thepassword table PT in the embodiment illustrated with FIG. 3 is sortedaccording to the time and date of file encryption. DLP module 40calculates the number of instances of use of each password and adds itto a related field in the password table PT. In another embodiment, DLPmodule 40 sorts the password table PT according to the number ofinstances of use, application name, file format, hash value, or user ID.The sorting result functions as the basis of priority given to adecryption attempt.

In another embodiment, DLP module 40 calculates the degree of matchbetween an encrypted file and each password according to a comparison ofmeta data of the encrypted file and meta data of each password collectedby password collecting module 30, so as to determine the priority givento a decryption attempt. DLP module 40 determines the way of calculatingthe degree of match as needed, or adjusts the weight assigned to eachitem in the meta data for the purpose of calculating the degree ofmatch, of which the claimed subject matter is not restrictive. Forinstance, DLP module 40 may assign a greater weight to file format thanto user ID in calculating the degree of match.

-   -   Block 406: end the process flow as soon as the decryption is        successful Go to block 450 to execute a predetermined if it is        impossible to decrypt all the passwords.

The foregoing preferred embodiments are provided to illustrate anddisclose the technical features of the claimed subject matter, and arenot intended to be restrictive of the scope of the claimed subjectmatter. Hence, all equivalent variations or modifications made to theforegoing embodiments without departing from the spirit embodied in thedisclosure of the claimed subject matter should fall within the scope ofthe claimed subject matter as set forth in the appended claims.

What is claimed is:
 1. A method, comprising: monitoring: an applicationexecuted at a terminal; monitoring a procedure performed with apredetermined application executed at the terminal; and identifying apassword entered by users for a file encryption procedure performed withthe predetermined application.
 2. The method of claim 1, wherein theidentifying further comprises identifying meta data of the password. 3.The method of claim 1, further comprising: receiving an encrypted filefrom the terminal; and decrypting the encrypted file with the password.4. The method of claim 3, wherein the decrypting is performed in areal-time manner.
 5. The method of claim 3, wherein the receiving anencrypted file further comprises identifying meta data of the encryptedfile, wherein the decrypting further comprises selecting the password bydetermining that meta data of the encrypted file matches at least apotion of meta data of the password.
 6. The method of claim 3, whereinthe decrypting comprises decrypting the encrypted file with multiplepasswords obtained by executing the method of claim 1 two or more times.7. The method of claim 6, wherein the receiving an encrypted filefurther comprises identifying meta data of the encrypted file, whereinthe decrypting further comprises determining priority given toattempting to decrypt with each password according to meta data of themultiple passwords obtained by executing the method of claim 2 severaltimes.
 8. The method of claim 6, wherein the receiving an encrypted filefurther comprises identifying meta data of the encrypted file, whereinthe decrypting further comprises determining a degree of match betweenmeta data of the encrypted file and meta data of the multiple passwordsobtained by executing the method of claim 2 several times, so as todetermine priority given to a decryption performed with each password.9. An apparatus, comprising: a processor; a non-transitory,computer-readable medium coupled to the processor; and logic, stored onthe computer-readable medium and executed on the processor, for:monitoring an application executed at a terminal; monitoring a procedureperformed with a predetermined application executed at the terminal; andidentifying a password entered by users for a file encryption procedureperformed with the predetermined application.
 10. The apparatus of claim9, wherein the logic for identifying further comprises logic foridentifying meta data of the password.
 11. The apparatus of claim 9, thelogic further comprising logic for: receiving an encrypted file from theterminal; and decrypting the encrypted file with the password.
 12. Theapparatus of claim 11, wherein the decrypting is performed in areal-time manner.
 13. The apparatus of claim 11, wherein the logic forreceiving an encrypted file further comprises logic for identifying metadata of the encrypted file, wherein the logic for decrypting furthercomprises logic for selecting the password by determining that meta dataof the encrypted file matches at least a portion of meta data of thepassword.
 14. The apparatus of claim 11, wherein the logic fordecrypting comprises logic for decrypting the encrypted file withmultiple passwords obtained by executing the logic of claim 9 two ormore times.
 15. A computer programming product, comprising: anon-transitory, computer-readable medium; and logic, stored on thecomputer-readable medium for execution on a processor, for: monitoringan application executed at a terminal; monitoring a procedure performedwith a predetermined application executed at the terminal; andidentifying a password entered by users for a file encryption procedureperformed with the predetermined application.
 16. The computerprogramming product of claim 15, wherein the logic for identifyingfurther comprises logic for identifying meta data of the password. 17.The computer programming product of claim 15, the logic furthercomprising logic for: receiving an encrypted file from the terminal; anddecrypting the encrypted file with the password.
 18. The computerprogramming product of claim 17, wherein the decrypting is performed ina real-time manner.
 19. The computer programming product of claim 17,wherein the logic for receiving an encrypted file further compriseslogic fur identifying meta data of the encrypted file, wherein the logicfor decrypting further comprises logic for selecting the password bydetermining that meta data of the encrypted file matches at least aportion of meta data of the password.
 20. The computer programmingproduct of claim 17, wherein the logic for decrypting comprises logicfor decrypting the encrypted file with multiple passwords obtained byexecuting the logic of claim 9 two or more times.